// 函数：定义参数与返回值的类型
/*
用法：
方式1:
   function fn(a:number,b:number):number{
    ....
   }
方法2：函数表达式
  const fn2:(a:number,b:number)=>number=(a,b)=>{
    ...
  }

*/

function fn (a: number, b: number): number {
  return a + b
}

const fn2 = (a: number, b: number): number => {
  return a + b
}
type Tfn = (x: number, x2: number) => number
const fn3: Tfn = (a, b) => {
  return a + b
}
fn3(1, 2)

// void:无返回值
// 1：没有写return  2：只写了return   3:return undefined
// 函数参数非必传
//  1:定义默认值  2：形参?:类型  参数可传可不传
// 非必传参数后面的参数一定要是非必传

function fn4 (a: string, b?: string): void {
  console.log(a, b)
  return
}
fn4('hello')

export {}
